// Evol scripts.
// Authors:
//    Ablu
//    Qwerty Dragon
// Description:
//    Explains to the player how he got here.
// Variable:
//    0 ShipQuests_Arpan
//    1 ShipQuests_Julia
// Values:
//    00   Has not talked to Arpan yet.
//    01   Talked to Arpan and needs to get the clothes.
//    02   Has the clothes.
//    03   Has and equipped the clothes.
//    10   Has not talked to Julia
//    11   Need to see Julia
//    12   Has been registered by Julia

000-2-1,49,36,0	script	LeftDoorCheck	NPC_HIDDEN,0,0,{
    .@q = getq(ShipQuests_Arpan);
    if (.@q == 0) doevent "Magic Arpan::OnTalk";

    close;
}

000-2-1,54,36,0	script	RightDoorCheck	NPC_HIDDEN,0,0,{
    .@q = getq(ShipQuests_Arpan);
    if (.@q == 0) doevent "Magic Arpan::OnTalk";

    close;
}

000-2-1,47,32,0	script	LeftBarrierCheck	NPC_HIDDEN,0,2,{
    .@q = getq(ShipQuests_Arpan);
    if (.@q > 2) close;
    if (.@q == 2 && getequipid(equip_torso) == 1300 && getequipid(equip_legs) == 2200) goto L_EquipDone;
    if (.@q == 2) goto L_Equip;
    if (.@q == 1) goto L_GetCloth;

    doevent "Magic Arpan::OnClothNotTaken";

L_Equip:
    warp "000-2-1", 49, 32;
    doevent "Magic Arpan::OnEquip";

    close;

L_GetCloth:
    warp "000-2-1", 49, 32;
    doevent "Magic Arpan::OnClothNotTaken";

    close;

L_EquipDone:
    setq ShipQuests_Arpan, 3;

    close;
}

000-2-1,56,32,0	script	RightBarrierCheck	NPC_HIDDEN,0,2,{
    .@q = getq(ShipQuests_Arpan);
    if (.@q > 2) close;
    if (.@q == 2 && getequipid(equip_torso) == 1300 && getequipid(equip_legs) == 2200) goto L_EquipDone;
    if (.@q == 2) goto L_Equip;
    if (.@q == 1) goto L_GetCloth;

    doevent "Magic Arpan::OnClothNotTaken";

L_Equip:
    warp "000-2-1", 55, 32;
    doevent "Magic Arpan::OnEquip";

    close;

L_GetCloth:
    warp "000-2-1", 55, 32;
    doevent "Magic Arpan::OnClothNotTaken";

    close;

L_EquipDone:
    setq ShipQuests_Arpan, 3;

    close;
}

000-2-1,49,33,0	script	Magic Arpan	NPC_MAGIC_ARPAN,{
    .@q = getq(ShipQuests_Arpan);
    .@q_nard = getq(ShipQuests_Nard);
    .@q_julia = getq(ShipQuests_Julia);
    if (.@q == 2 && getequipid(equip_torso) == 1300 && getequipid(equip_legs) == 2200) goto L_EquipDone;

OnTalk:
    mesn;

    if (.@q > 0) goto L_Menu;

    mesq lg("Yeye, you are really lucky to be alive. You are in good enough shape for walking, do you remember what happened?");
    next;
    setq ShipQuests_Arpan, 1;

    menu
        lg("I only remember I was rescued by you."), L_Story,
        lg("I can't remember anything."), L_OhWell;

OnClothNotTaken:
    mesn;
    mesq lg("Yeye, you still did not get your new clothes from the chest next to your bed!");

    close;

OnEquip:
    mesn "Narrator";
    mes col(l("To open your inventory, use the F3 key or use your mouse to select it in the above menu in your client."), 9);
    next;
    mes col(l("When your inventory is open, you can equip an item by selecting it and clicking 'Equip'. You can do the same to remove an item by clicking on 'Unequip'."), 9);
    next;
    mes col(l("Items have different effects. Some will heal you, some can be used as weapons or armor, and some can be sold for gold."), 9);

    close;

L_OhWell:
    mes "";
    mesq lg("Oh well, we rescued you when you were yaying adrift in the sea.");
    next;

    select
        l("And then what happened?");

L_Story:
    mes "";
    mesq lg("You were yaying sleeping for quite some time there. Our shipkeeper, Julia, was here with you, and she did her best to heal your injuries.");
    next;
    if (.@q_julia == 0) setq ShipQuests_Julia, 1;
    mesq lg("Yaya, you should go see her! She'll be happy to see you.");
    next;
    mesq lg("Also, we took your yayed clothes, as they were... Yeyeye... In a bad shape. Go check the chest near your bed, there are some other ones inside.");
    setcamnpc "Chest";

    close;

L_Menu:
    mesq l("What yeye could I do for you today?");
    next;
    .@equipped = getequipid(equip_torso) == 1300 && getequipid(equip_legs) == 2200;

    menu
        rif(.@q_nard == 5 && getq(General_Narrator) < 1, l("What can I do now?")), L_GotoSleep,
        lg("Could you tell me where I am?"), L_Where,
        lg("Where can I find Julia?"), L_Julia,
        l("Who are you?"), L_Who,
        rif(getq(ShipQuests_ArpanMoney) == 1, lg("Do you know what happened to the gold I had when you guys saved me?")), L_WhereMoney,
        rif(getq(ShipQuests_ArpanMoney) < 2, l("Where are my old clothes?")), L_WhereOldClothes,
        rif(!.@equipped, lg("What should I do after taking these clothes?")), L_WhatCloth,
        rif(!.@equipped, l("Thank you, I'll take them and put them on.")), -,
        l("Nothing, sorry."), -;

    closedialog;
    close;

L_Where:
    mes "";
    mesn;
    mesq lg("You're on our ship, we made port to a little island and we're actually yeyending our long merchant traveling adventure at the city of Artis.");
    next;
    mesq l("We will be yaying there in a few days, so we will drop you off there.");
    next;
    mesq l("You will see, citizens are polite and you can still ask for help in the Legion of Aemil. They can help find a job for you or maybe help you find out what happened to you out at sea!");
    next;

    goto L_Menu;

L_Julia:
    mes "";
    mesn;
    mesq lg("She's on the upper level, yeye can't miss her. She's the only girl in this crew, oh well, except for you now yeyeye!", "She's on the upper level, yeye can't miss her. She's the only girl in this crew.");
    next;

    mesn "Narrator";
    mes col(l("Julia is on the upper level of the ship, use the arrow keys to walk to the stairs or click on the stairs at the top right of your screen."), 9);
    next;

    goto L_Menu;

L_Who:
    mes "";
    mesn;
    mesq l("Sorry! I forgot to introduce myself. My name is Arpan, but other sailors call me Magic Arpan because I know one or two yaing magic spells.");
    next;

    goto L_Menu;

L_WhereOldClothes:
    mes "";
    mesn;
    mesq lg("We tried to clean them but the sea water mostly destroyed them. It's why we gave you these clothes. They're not very nice, but that's all that we have for you.");
    next;
    mes lg("Oh, now that I remember, we also found some money in your pockets, here it is!");
    next;

    setq ShipQuests_ArpanMoney, 2;
    .@q = getq(ShipQuests_Arpan);
    Zeny = Zeny + 10;
    message strcharinfo(0), l("You receive @@ E!", 10);

    goto L_BeforeMenu;

L_WhereMoney:
    mes "";
    mesn;
    mesq l("Oh right, I totally forgot about that, here you go.");
    next;

    setq ShipQuests_ArpanMoney, 2;
    .@q = getq(ShipQuests_Arpan);
    Zeny = Zeny + 10;
    message strcharinfo(0), l("You receive @@ E!", 10);

    goto L_BeforeMenu;

L_WhatCloth:
    mes "";
    mesn;
    mesq lg("Oh yeyeye... As they are not edible, you can maybe try to equip them?");
    next;

    mesn "Narrator";
    mes col(l("To open your inventory, use the F3 key or use your mouse to select it in the above menu in your client."), 9);
    next;
    mes col(l("When your inventory is open, you can equip an item by selecting it and clicking 'Equip'. You can do the same to unequip an item by clicking on 'Unequip'."), 9);
    next;
    mes col(l("Items have different effects. Some will heal you, some can be used as weapons or armor, and some can be sold for gold."), 9);
    next;

L_BeforeMenu:
    mesn;
    goto L_Menu;

L_EquipDone:
    setq ShipQuests_Arpan, 3;
    goto L_Menu;

L_GotoSleep:
    speech 5,
        l("You already did enough for us, do you want to follow Nard's advice and get some rest?");

    switch (select (l("Yes."), l("No.")))
    {
        case 1:
            speech 5,
                l("Fine."),
                l("We are at half a day from our final destination, by the time that you wake up I'm sure that we will be there!");

                closedialog;
                doevent "#name3::OnClick";
                close;

            break;
        case 2:
            speech 5,
                l("Alright, take your time we are not in a hurry.");

            break;
    }

    goto L_Menu;

OnInit:
    .sex = G_MALE;
    .distance = 5;
    end;
}
